// 对与用户相关的操作进行封装

import ajax from '@/utils/request.js'

/**
 * 用户登陆
 * @param {*} mobile 手机号
 * @param {*} code 验证码（密码）
 */
export const login = (mobile, code) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/authorizations',
    // 参数: 根据接口文档，参数要通过body（请求体中）来传，对应到axios中，用data
    data: {
      mobile: mobile,
      code: code
    }
  })
}

/**
 * 关注用户
 * @param {*} userId 作者的id
 */
export const followUser = (userId) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/user/followings',
    data: {
      target: userId
    }
  })
}
/**
 * 取消关注用户
 * @param {*} userId 作者的id
 */
export const unFollowUser = (userId) => {
  return ajax({
    method: 'DELETE',
    url: '/app/v1_0/user/followings/' + userId
  })
}

/**
 * 获取用户自已的信息
 */
export const getInfo = () => {
  return ajax({
    method: 'GET',
    url: '/app/v1_0/user'
  })
}

/**
 * 获取用户个人资料
 */
export const getProfile = () => {
  return ajax({
    method: 'GET',
    url: '/app/v1_0/user/profile'
  })
}

/**
 * 修改个人信息
 * @param {*} obj
 * obj {
 *   name: 名字
 *   gender： 性别: 男(0), 女(1)
 *   birthday: 2018-12-20
 * }
 */
export const updateUserInfo = obj => {
  return ajax({
    method: 'PATCH',
    url: '/app/v1_0/user/profile',
    data: obj
  })
}

/**
 * 修改用户头像
 * @param {*} obj 以formData格式保存参数
 */
export const updatePhoto = obj => {
  return ajax({
    method: 'PATCH',
    url: '/app/v1_0/user/photo',
    data: obj
  })
}
